package com.ebt.m.utils;

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class NumberHelper {

    /**
     * 千分位格式化数字
     */
    public static String thousandFormat(double value) {
        NumberFormat format = NumberFormat.getInstance();
        format.setMaximumFractionDigits(2);
        format.setMinimumFractionDigits(0);
        format.setMaximumIntegerDigits(99);
        format.setMinimumIntegerDigits(0);
        return format.format(value);
    }

    /**
     * 千分位格式化数字
     */
    public static String thousandFormat(double value,
                                        int maximumFractionDigits, int minimumFractionDigits,
                                        int maximumIntegerDigits, int minimumIntegerDigits) {
        NumberFormat format = NumberFormat.getInstance();
        format.setMaximumFractionDigits(maximumFractionDigits);
        format.setMinimumFractionDigits(minimumFractionDigits);
        format.setMaximumIntegerDigits(maximumIntegerDigits);
        format.setMinimumIntegerDigits(minimumIntegerDigits);
        return format.format(value);
    }

    /**
     * 格式化货币
     *
     * @param money
     */
    public static String formatMoney(Double money) {
        if (money == null) {
            return "";
        }
        DecimalFormat format = new DecimalFormat("#,##0.##");
        return format.format(money);
    }

    public static String formatDouble(Double num) {
        NumberFormat numberFormat = NumberFormat.getInstance();
        numberFormat.setGroupingUsed(false);
        return numberFormat.format(num);
    }
}
